/**   
* @Title: IScmInvocingSupplyService.java 
* @Package com.kerrykidz.scminvoicing.service 
* @Description: 供应商相关操作的service
* Copyright: Copyright (c) 2014 
* Company:wuwh team by iss
* @author: ScreenJxp   
* @date: 2014年8月13日 下午1:53:04 
* @version: V1.0
* update Release(文件修正记录)
* <pre>
* author--updateDate--description----------------------Flag————
* wuwh    2014-5-1    测试codesyle                      #wuwh001
*
*
*
* </pre>
*
*/
package com.kerrykidz.scminvoicing.service;

import java.util.List;

import com.kerrykidz.scminvoicing.dao.model.ScmSupAgmEntity;
import com.kerrykidz.scminvoicing.dao.model.ScmSupEntity;
import com.kerrykidz.scminvoicing.dao.model.ScmSupPrdEntity;
import com.rdp.framework.exception.RDPException;

public interface IScmInvocingSupplyService {
			/**
			 * 
			*
			* @Title: findSupplyInfo
			* @Description: <p>根据条件查询供应商信息<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@return
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月13日
			* @return: List<ScmSupEntity>
			* @throws 
			*
			 */
			public  List<ScmSupEntity> findSupplyInfo(ScmSupEntity entity)throws RDPException;
			
			/**
			 * 
			*
			* @Title: saveSupply
			* @Description: <p>这里用一句话描述这个方法的作用<p>
			* <pre>
				保存供应商信息
			* </pre>
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月13日
			* @return: void
			* @throws 
			*
			 */
			public void saveSupply(ScmSupEntity entity)throws RDPException;
			
			/**
			 * 
			*
			* @Title: deleteSupply
			* @Description: <p>这里用一句话描述这个方法的作用<p>
			* <pre>
				删除供应商的信息
			* </pre>
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月13日
			* @return: void
			* @throws 
			*
			 */
			public void deleteSupply(ScmSupEntity entity)throws RDPException;
			
			/**
			 * 
			*
			* @Title: updateSupply
			* @Description: <p>修改供应商信息<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param entity
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月13日
			* @return: void
			* @throws 
			*
			 */
			public void updateSupply(ScmSupEntity entity)throws RDPException;
			/**
			 * 
			*
			* @Title: saveSupAgm
			* @Description: <p>保存供应商协议信息<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param entity
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月22日
			* @return: void
			* @throws 
			*
			 */
			public void saveSupAgm(ScmSupAgmEntity entity)throws RDPException;
			
			/**
			 * 
			*
			* @Title: getSupAgmInfo
			* @Description: <p>得到供应商的协议信息<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param entity
			* @param: <p>@return
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月22日
			* @return: ScmSupAgmEntity
			* @throws 
			*
			 */
			public List<ScmSupAgmEntity> getSupAgmInfo(ScmSupAgmEntity entity)throws RDPException;
			
			/**
			 * 
			*
			* @Title: getAgmProductInfo
			* @Description: <p>获取协议中的信息 <p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param fkSupagmId
			* @param: <p>@return
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月22日
			* @return: List<ScmSupPrdEntity>
			* @throws 
			*
			 */
			public List<ScmSupPrdEntity> getAgmProductInfo(String fkSupagmId )throws RDPException;
			
			/**
			 * 
			*
			* @Title: deleteBefore
			* @Description: <p>删除供应商的前处理<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param fkSupId
			* @param: <p>@return
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月24日
			* @return: ScmSupEntity
			* @throws 
			*
			 */
			public String deleteBefore(String fkSupId)throws RDPException;
			
			/**
			 * 
			*
			* @Title: deleteSupAgm
			* @Description: <p>删除协议<p>
			* <pre>
				这里描述这个方法的使用方法 – 可选
			* </pre>
			* @param: <p>@param entity
			* @param: <p>@return
			* @param: <p>@throws RDPException<p>
			* @date: 2014年8月25日
			* @return: String
			* @throws 
			*
			 */
			public void  deleteSupAgm(ScmSupAgmEntity entity)throws RDPException;
			
			/**
			 * 删除协议中的商品信息
			 * @param entity
			 * @throws RDPException
			 * @date: 2014年9月14日
			 */
			public void  deleteSupPrd(ScmSupPrdEntity entity)throws RDPException;
			
			/***
			 * 修改协议中的价格信息
			 * @param prdInfo
			 * @throws RDPException
			 * @date: 2014年9月14日
			 */
			public void updatePrice(List<String> prdInfo,String fkSupagmId)throws RDPException;
			/**
			 * 保存协议中的商品信息
			 * @param prdInfo
			 * @throws RDPException
			 * @date: 2014年9月14日
			 */
			public void savePrdPrice(List<String> prdInfo,String fkSupagmId)throws RDPException;
			
			/**
			 * 修改供应商的的协议信息
			 * @param entity
			 * @throws RDPException
			 * @date: 2014年10月8日
			 */
			public void updateSupAgm(ScmSupAgmEntity entity)throws RDPException;
			
			/**
			 * 是否可以删除协议和协议中的商品
			 * @return
			 * @throws RDPException
			 * @date: 2014年10月10日
			 */
			public  String  isDelete(String fkAgmId,String fkPrdId)throws RDPException;
			
			
			
}
